package com.jy.rhin.model;


import com.jy.rhin.infra.cda.EDataElement;
import com.jy.rhin.infra.cda.XPath;
import com.jy.rhin.infra.cda.XValid;
import com.jy.rhin.model.body.chuanranbbg.XingZhengGL;
import com.jy.rhin.model.body.chuanranbbg.ZhenDuanJL;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = false)
public class ChuanRanBBG extends ClinicalDocumentData {

    //文档唯一id
    @XPath(path = "/id/@extension"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE01_00_008_00))
    String id;

    //传染病首次出现症状日期
    @XPath(path = "/component/structuredBody/component/section/code[@code='11450-4']/../entry/observation/code[@code='DE04.01.005.00']/../value/@value"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE04_01_005_00))
    String shouCiCXZZRQ;

    //诊断记录
    @XPath(path = "/component/structuredBody/component/section/code[@code='29548-5']/..")
    ZhenDuanJL zhenDuanJL;

    //传染病死亡日期
    @XPath(path = "/component/structuredBody/component/section/code[@displayName='传染病死亡信息']/../entry/observation/code[@code='DE02.01.035.00']/../value/@value"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE02_01_035_00, nullable = true))
    String siWangRQ;

    //新生儿既往史
    @XPath(path = "/component/structuredBody/component/section/code[@displayName='行政管理']/..")
    XingZhengGL xingZhengGL;



}
